Skip to content

Conversation

@maxdeliso
Copy link
Owner

Hygienic Substitution and Module Linking Implementation

Implements hygienic substitution for TripLang to prevent variable capture, adds a module linker for multi-file programs, and introduces a prelude with Church-encoded arithmetic. The linker resolves cross-module dependencies using Tarjan’s SCC algorithm and emits runnable SKI expressions. Substitution includes alpha-renaming and bound-variable tracking. The CLI adds --link mode for linking .tripc files, and the prelude provides Nat, Bool, and operations like add, mul, eq, pair, fst, snd, cond. Tests cover substitution, linking, CLI, and integration scenarios.

@maxdeliso maxdeliso self-assigned this Oct 13, 2025
@maxdeliso maxdeliso marked this pull request as ready for review October 13, 2025 01:17
@maxdeliso maxdeliso merged commit 6e6061b into main Nov 4, 2025
4 checks passed
@maxdeliso maxdeliso deleted the add-linker branch November 4, 2025 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants